package com.ctsi.ssdc.domain;

import com.ctsi.ssdc.annotation.AutoId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.ZonedDateTime;

/**
 * @author ctsi-biyi-generator
*/
@ApiModel(description = "LitemallAddress")
public class LitemallAddress implements Serializable {
    /**
     * @Fields id 
     */
    @ApiModelProperty("")
    @AutoId(primaryKey = "id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Integer id;

    /**
     * @Fields name 收货人名称
     */
    @ApiModelProperty("name")
    private String name;

    /**
     * @Fields userId 用户表的用户ID
     */
    @ApiModelProperty("userId")
    private Integer userId;

    /**
     * @Fields province 行政区域表的省ID
     */
    @ApiModelProperty("province")
    private String province;

    /**
     * @Fields city 行政区域表的市ID
     */
    @ApiModelProperty("city")
    private String city;

    /**
     * @Fields county 行政区域表的区县ID
     */
    @ApiModelProperty("county")
    private String county;

    /**
     * @Fields addressDetail 详细收货地址
     */
    @ApiModelProperty("addressDetail")
    private String addressDetail;

    /**
     * @Fields areaCode 地区编码
     */
    @ApiModelProperty("areaCode")
    private String areaCode;

    /**
     * @Fields postalCode 邮政编码
     */
    @ApiModelProperty("postalCode")
    private String postalCode;

    /**
     * @Fields tel 手机号码
     */
    @ApiModelProperty("tel")
    private String tel;

    /**
     * @Fields isDefault 是否默认地址
     */
    @ApiModelProperty("isDefault")
    private Boolean isDefault;

    /**
     * @Fields addTime 创建时间
     */
    @ApiModelProperty("addTime")
    private ZonedDateTime addTime;

    /**
     * @Fields updateTime 更新时间
     */
    @ApiModelProperty("updateTime")
    private ZonedDateTime updateTime;

    /**
     * @Fields deleted 逻辑删除
     */
    @ApiModelProperty("deleted")
    private Boolean deleted;

    private static final long serialVersionUID = 1L;

    /** 
     * @return id 
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id 
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /** 
     * @return name 收货人名称
     */
    public String getName() {
        return name;
    }

    /**
     * @param name 收货人名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /** 
     * @return user_id 用户表的用户ID
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * @param userId 用户表的用户ID
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /** 
     * @return province 行政区域表的省ID
     */
    public String getProvince() {
        return province;
    }

    /**
     * @param province 行政区域表的省ID
     */
    public void setProvince(String province) {
        this.province = province == null ? null : province.trim();
    }

    /** 
     * @return city 行政区域表的市ID
     */
    public String getCity() {
        return city;
    }

    /**
     * @param city 行政区域表的市ID
     */
    public void setCity(String city) {
        this.city = city == null ? null : city.trim();
    }

    /** 
     * @return county 行政区域表的区县ID
     */
    public String getCounty() {
        return county;
    }

    /**
     * @param county 行政区域表的区县ID
     */
    public void setCounty(String county) {
        this.county = county == null ? null : county.trim();
    }

    /** 
     * @return address_detail 详细收货地址
     */
    public String getAddressDetail() {
        return addressDetail;
    }

    /**
     * @param addressDetail 详细收货地址
     */
    public void setAddressDetail(String addressDetail) {
        this.addressDetail = addressDetail == null ? null : addressDetail.trim();
    }

    /** 
     * @return area_code 地区编码
     */
    public String getAreaCode() {
        return areaCode;
    }

    /**
     * @param areaCode 地区编码
     */
    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode == null ? null : areaCode.trim();
    }

    /** 
     * @return postal_code 邮政编码
     */
    public String getPostalCode() {
        return postalCode;
    }

    /**
     * @param postalCode 邮政编码
     */
    public void setPostalCode(String postalCode) {
        this.postalCode = postalCode == null ? null : postalCode.trim();
    }

    /** 
     * @return tel 手机号码
     */
    public String getTel() {
        return tel;
    }

    /**
     * @param tel 手机号码
     */
    public void setTel(String tel) {
        this.tel = tel == null ? null : tel.trim();
    }

    /** 
     * @return is_default 是否默认地址
     */
    public Boolean getIsDefault() {
        return isDefault;
    }

    /**
     * @param isDefault 是否默认地址
     */
    public void setIsDefault(Boolean isDefault) {
        this.isDefault = isDefault;
    }

    /** 
     * @return add_time 创建时间
     */
    public ZonedDateTime getAddTime() {
        return addTime;
    }

    /**
     * @param addTime 创建时间
     */
    public void setAddTime(ZonedDateTime addTime) {
        this.addTime = addTime;
    }

    /** 
     * @return update_time 更新时间
     */
    public ZonedDateTime getUpdateTime() {
        return updateTime;
    }

    /**
     * @param updateTime 更新时间
     */
    public void setUpdateTime(ZonedDateTime updateTime) {
        this.updateTime = updateTime;
    }

    /** 
     * @return deleted 逻辑删除
     */
    public Boolean getDeleted() {
        return deleted;
    }

    /**
     * @param deleted 逻辑删除
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        LitemallAddress other = (LitemallAddress) that;
        return (this.getId() == null ? other.getId() == null :
				 this.getId().equals(other.getId()))
            && (this.getName() == null ? other.getName() == null :
				 this.getName().equals(other.getName()))
            && (this.getUserId() == null ? other.getUserId() == null :
				 this.getUserId().equals(other.getUserId()))
            && (this.getProvince() == null ? other.getProvince() == null :
				 this.getProvince().equals(other.getProvince()))
            && (this.getCity() == null ? other.getCity() == null :
				 this.getCity().equals(other.getCity()))
            && (this.getCounty() == null ? other.getCounty() == null :
				 this.getCounty().equals(other.getCounty()))
            && (this.getAddressDetail() == null ? other.getAddressDetail() == null :
				 this.getAddressDetail().equals(other.getAddressDetail()))
            && (this.getAreaCode() == null ? other.getAreaCode() == null :
				 this.getAreaCode().equals(other.getAreaCode()))
            && (this.getPostalCode() == null ? other.getPostalCode() == null :
				 this.getPostalCode().equals(other.getPostalCode()))
            && (this.getTel() == null ? other.getTel() == null :
				 this.getTel().equals(other.getTel()))
            && (this.getIsDefault() == null ? other.getIsDefault() == null :
				 this.getIsDefault().equals(other.getIsDefault()))
            && (this.getAddTime() == null ? other.getAddTime() == null :
				 this.getAddTime().equals(other.getAddTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null :
				 this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getDeleted() == null ? other.getDeleted() == null :
				 this.getDeleted().equals(other.getDeleted()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getProvince() == null) ? 0 : getProvince().hashCode());
        result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
        result = prime * result + ((getCounty() == null) ? 0 : getCounty().hashCode());
        result = prime * result + ((getAddressDetail() == null) ? 0 : getAddressDetail().hashCode());
        result = prime * result + ((getAreaCode() == null) ? 0 : getAreaCode().hashCode());
        result = prime * result + ((getPostalCode() == null) ? 0 : getPostalCode().hashCode());
        result = prime * result + ((getTel() == null) ? 0 : getTel().hashCode());
        result = prime * result + ((getIsDefault() == null) ? 0 : getIsDefault().hashCode());
        result = prime * result + ((getAddTime() == null) ? 0 : getAddTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
        return result;
    }
}